1. Technical Field
The present invention relates to a communication device and a communication system for transmitting a content such as a program or data selected by a user to a user terminal via a network (a communication path).
2. Background Art
Conventionally, systems for distributing video programs, audio programs, and the like from a server via a network (a communication path) to a terminal used by a user (hereinafter, referred to as program distribution systems) have been put to practical use. One example of those systems is a program distribution system which is utilized in airplanes (hereinafter, referred to as an airplane program distribution system). By the airplane program distribution system, a passenger (a user) uses a terminal equipped in a user's seat in order to select a desired program from programs distributed from a video server equipped in an airplane, and to watch and listen to the program.
One of the technical methods for distributing a large number of the programs via a network is IP Multicast using the Internet Protocol (IP). The IP Multicast is a system for transmitting identical data to multiple designated recipients in the network. Hereinafter, in this description, distribution of a program to multiple users by using the IP is referred to as IP Multicast, and distribution of a program to multiple users in a general sense is referred to merely as Multicast. On the other hand, not like Multicast, a method for designating a single recipient and transmitting data to the unique recipient is called Unicast.
The IP Multicast is used, for example, in a case where a frame is transmitted from a single transmitting node such as a server to multiple receiving terminals. For instance, the IP Multicast is used in a case where a video program transmitted from a video server is watched and listened to by a plurality of terminals.
A transmitting node transmits a frame to a specific group. A transmitting node for Multicast transmits only one frame, and the frame is duplicated by a router at some midpoint to be distributed to receiving terminals. The router at some midpoint duplicates the frame only in a case where a receiver of Multicast exists in a different interface. Therefore, only one frame having the same contents is transmitted to where the frame is requested. Accordingly, network bands are able to be efficiently used, and the frame is duplicated by the routers which are dispersedly positioned on the network, so that the loads can be dispersed.
IP Multicast is defined in RFC2236 and RFC1112, and IP addresses of class D (224.0.0.0 to 239.255.255.255) are reserved for use as Multicast addresses. If communication is performed to these addresses over Multicast, simultaneous transmission to nodes belonging to a Multicast group (address) is performed.
In order to join an (appropriate) multicast group, a protocol of the Internet Group Management Protocol (IGMP) is applied. The IGMP is used when a receiving terminal host joins or leaves the group or when information regarding the group is exchanged between IP Multicast routers. Using the IP Multicast system, a group is formed for each video program, then communication using IP Multicast is performed, and a user joins a Multicast group regarding a video program which the user wishes to watch or listen to, so that the user can watch and listen to the desired program.
FIG. 1 shows a schematic structure of the conventional program distribution system using IP Multicast. Referring to FIG. 1, a reference numeral 1000 represents a program distributing unit such as a video server. A reference numeral 1001 represents a communication path such as an Ethernet®. A reference numeral 1002 represents a router which supports Multicast. A reference numeral 1003 represents a router which supports Multicast. A reference numeral 1004 represents a user terminal. Reference numerals of the user terminals 1004 are assigned with additional characters a to h, respectively.
The program distribution unit 1000 transmits all distributable programs using IP Multicast (hereinafter, the transmitting program is referred to as a program stream). FIG. 1 shows an example in which there are four different programs (B1, B2, B3, and B4).
For example, the program B1 uses a Multicast IP address 224.0.0.1, the program B2 uses a Multicast IP address 224.0.0.2, the program B3 uses a Multicast IP address 224.0.0.3, and the program B4 uses a Multicast IP address 224.0.0.4. This means that a group of programs is formed for each IP address.
Generally, in IP Multicast, a User Datagram Protocol (UDP) is used at the fourth layer (Transport layer) of the Open Systems Interconnection (OSI) model. More specifically, the Ethernet® is used at the second layer (Data link layer) of the OSI model, and re-transmission is performed using the IP at the third layer (Network layer) of the OSI model in order to be realized as a so-called stream transmission.
All programs are transmitted via the communication path 1001 (X1 and X2), so that by using multicast addresses 224.0.0.1 to 224.0.0.4, the programs B1 to B4 are transmitted (X2 transmits the programs to a next router (not shown)).
The user terminals 1004a to 1004d which are managed by the router 1003a is used to watch and listen to the programs B1, B2, and B3, so that X3 uses Multicast addresses 224.0.0.1 to 224.0.0.3 to transmit the programs B1, B2, and B3. From the router 1003a, each program is transmitted to the user terminal 1004. More specifically, X5 uses 224.0.0.1 to transmit the program B1 to the user terminal 1004a, X6 uses 224.0.0.2 to transmit the program B2 to the user terminal 1004b, X7 uses 224.0.0.3 to transmit the program B3 to the user terminal 1004c, and X8 uses 224.0.0.1 to transmit the program B1 to the user terminal 1004d. Here, since the identical program B1 is to be watched and listened to by using the user terminal 1004a and the user terminal 1004d, the router 1003a duplicates the program data to be transmitted.
In the same manner, the programs B1, B2, and B4 are watched and listened to by using the user terminals 1004e to 1004h which are managed by the router 1003b, so that X4 uses Multicast addresses 224.0.0.1, 224.0.0.2, and 224.0.0.4 to transmits the programs B1, B2, and B4. From the router 1003b, each program is transmitted to the user terminal 1004. More specifically, X9 uses 224.0.0.4 to transmit the program B4 to the user terminal 1004e, X10 uses 224.0.0.1 to transmit the program B1 to the user terminal 1004f, X11 uses 224.0.0.4 to transmit the program B4 to the user terminal 1004g, and X12 uses 224.0.0.2 to transmit the program B2 to the user terminal 1004h. Since the identical program B4 is watched and listened to by using the user terminal 1004e and the user terminal 1004g, the router 1003b duplicates the program data to be transmitted.
In FIG. 1 explains the example in which a wired Ethernet® is used as the communication path. In general, airplanes have constraints on a space to be equipped with communication devices or wires. For example, the router 1002 is equipped in a ceiling part of the airplane, X1 and X2 are wired along the ceiling, the user terminal 1004 is equipped in each passenger seat, and the router 1003 is equipped for each set of the seats. In the case of the example of FIG. 1, one router 1003 is equipped in one of four seats in a row, and the router 1003 is wired directly to the respective four user terminals 1004. A wire from the router 1002 to the router 1003 is equipped along a wall of the airplane.
Note that in the description with reference to FIG. 1, the Ethernet® is used as an example of the communication path 1001 and the program transmission unit 1002, but there is another method for performing the program distribution by using a modulation technique of Quadrature Amplitude Modulation (QAM) in a coaxial cable.
In the meantime, a wireless Local Area Network (hereinafter, referred to as a wireless LAN) has recently been widely used, and communication over the wireless LAN in airplanes is desired. By using the wireless LAN, wiring in the above space of the airplane becomes no more necessary, so that wiring construction is significantly reduced. Furthermore, in addition to the program distribution, it is also possible to realize connection between the Internet and a computer which the user brings into the airplane. One example of the wireless LAN is a communication method based on IEEE802.11. Regarding the details of the IEEE802.11, numerous technical books have been published, for example, “802.11 high-speed wireless LAN textbook” (published by IDG Japan Co., Ltd.).
The IEEE802.11 defines IEEE802.11a (maximum communication speed is 54 Mb/s), IEEE802.11b (maximum communication speed is 11 Mb/s), IEEE802.11g (maximum communication speed is 54 Mb/s), and the like. Effective IP throughputs of the above are approximately 20 Mb/s, approximately 4 Mb/s, and approximately 20 Mb/s, respectively. Furthermore, a technique such as IEEE802.11n is targeted at more speedy communication.
An important aspect of the present invention is that, in the wireless communication such as communication based on IEEE802.11, a MAC layer which is the Data link layer (the second layer of the OSI model) has a re-transmission system. In the IEEE802.11, a transmitting terminal transmits a frame, then if a receiving terminal receives the frame successfully, the receiving terminal sends back a frame indicating the receiving success (ACK frame), and therefore the transmitting terminal transmits the frame again if the ACK frame is not received within a predetermined time period. In general, this re-transmitting processing is repeated for a plurality of times until the frame is transmitted successfully. However, the re-transmitting at the MAC layer is performed only in communication using Unicast, and in communication using group addresses such as communication over Broadcast and Multicast, receiving stations do not send the ACK frame back. This is described in more detail with reference to a figure. FIG. 3 is a schematic block diagram of a MAC frame.
In FIG. 3, a reference numeral 1900 represents a MAC header, a reference numeral 1901 represents a frame body, and a reference numeral 1902 represents a frame check sequence (FSC). The MAC header 1900 includes four address fields. A reference numeral 1903 represents an address 1, 1904 represents an address 2, 1905 represents an address 3, and 1906 represents an address 4.
For example, in a case where transmission is performed between an access point (AP) and a station (STA), the address 1 stores a destination address, the address 2 stores a basic service set identifier (BSSID), and the address 4 stores a source address. Note that the address 4 is not used at this moment. Here, if the address 1 is a Unicast address, the re-transmission processing is performed, and if the address is a Broadcast or Multicast address, the re-transmission processing is not performed.
Note that the frame body stores an IP frame including an IP header as shown in FIG. 10A as described further below. This means that a wireless frame includes a MAC header and an IP header.
FIG. 2 is a schematic block diagram of IP Multicast using wireless communication in the middle of a transmission path. Processing until a router 1102 receives programs is same as the processing described with reference to FIG. 1. A reference numeral X700 represents a wireless LAN based on IEEE802.11 and transmits IP Multicast frames. As far as receiving terminals exist within an area where radio waves can be detected, all receiving terminals can receive the frames. In FIG. 2, a router 1102 is shown as a router which has a wireless access point (AP) function, and routers 1103a and 1103b are shown as routers which have a receivable station (STA) function. If the IP Multicast system is directly applied, the AP 1102 is requested from a plurality of STAs 1103 to transmit an identical program, so that the AP 1102 duplicates the program and should use Multicast addresses as the MAC addresses by which the plurality of STAs can receive the program.
Processing from the router 1103 to the user terminals 1004 is the same as the processing described with reference to FIG. 1. As described above, IP Multicast can be applied to the wireless LAN but this causes a problem as described further below.
Besides the system in FIG. 1, another example of the conventional system for performing communication over Multicast by using wireless LAN is disclosed in Japanese Patent Laid-Open No. 11-196041 publication (hereinafter, referred to as a patent document 1).
The patent document 1 is aimed to improve efficiency of the communication over Multicast, by grouping receiving stations among which data can be exchanged directly, from receiving stations which exist in a communication area where a single transmitting station (access point AP) can cover, then selecting as a representative station an arbitrary receiving station from the group, and utilizing the condition that a ACK or a NAK which is sent from the representative station back to the transmitting station can be received among the group.
Furthermore, examples for the conventional method for changing a part of the IP Multicast communication to Unicast communication and then, after that part, the Unicast communication is changed back to the IP Multicast communication are disclosed in Japanese Patent Laid-Open No. 2001-244976 (hereinafter, referred to as a patent document 2), Japanese Patent Laid-Open No. 2001-244978 publication (hereinafter, referred to as a patent document 3), and Japanese Patent Laid-Open No. 2001-230774 publication (hereinafter, referred to as a patent document 4). In these examples, the UDP is used at the Transport layer, negotiation is performed between communication devices in an area where Unicast communication is performed, IP Multicast which is a system at the Network layer is associated with the UDP at the Transport layer, and the communication device has “management tables” (peer management tables in the patent document 2 and the patent document 3) and “management tables (management tables in the patent document 4), so that the Unicast communication is changed back to the IP Multicast communication.
The patent documents 2, 3, and 4 are systems for passing each Multicast frame through a communication path, such as the Internet, on which routers and the like do to support Multicast communication, so that these patent documents do not disclose a technology regarding a part in which the Multicast frame needs to be cuplicated.
[Patent Document 1] Japanese Patent Laid-Open No. 11-196041 publication
[Patent Document 2] Japanese Patent Laid-Open No. 2001-244976 publication
[Patent Document 3] Japanese Patent Laid-Open No. 2001-244978 publication
[Patent Document 4] Japanese Patent Laid-Open No. 2001-230774 publication
[Non-Patent Document 1] “802.11 High-Speed Wireless LAN Textbook” (published by IDG Japan Co., Ltd.)